Virtual recovery server

ABSTRACT

A virtual recovery server is described herein. The virtual recovery server is a software implementation on a storage server which generates a virtual server to replace a physical server when the physical server becomes inaccessible. While the physical server is inaccessible, the virtual recovery server is able to mimic the actions and data contained on the physical server. Thus, when users attempt to access an application or data that is on the physical server, they will not experience an interruption and will continue to access the information as if the physical server were up and running. The virtual recovery server is able to run for up to a number of days. When a new or repaired physical server is available the virtual recovery server is deleted after the data acquired by the virtual server is transmitted to the new physical server.

FIELD OF THE INVENTION

The present invention relates to the field of computing. Morespecifically, the present invention relates to the field of implementinga virtual recovery server.

BACKGROUND OF THE INVENTION

A typical network requires the use of one or more servers to store,distribute and process data. Furthermore, the network implements abackup system to save data in the event a server loses data whether itbe due to a virus, software issue or hardware failure. Although the datais backed up, that does not remedy the problem of the server beinginaccessible as a result of a malfunction. Once a server fails, anadministrator has to replace the server with another server which is aprocess that could take a few hours or days if a new server needs to bepurchased. With a server down, data stored on that server is likelyinaccessible which causes problems such as a website being unavailable.It has been estimated that millions of dollars are lost due to systeminaccessibility. Furthermore, there is a significant effect onreputation when a company's website is down. Moreover, for Local AreaNetworks (LANs) within an organization, a server being down would haltproductivity if employees are unable to access their data.

A solution of ensuring that the server information is continuouslyavailable is to utilize a dedicated backup server for each server. Whilethat works well with one server, it becomes a high cost solution withmultiple servers as each server typically costs many thousands ofdollars.

SUMMARY OF THE INVENTION

A virtual recovery server is described herein. The virtual recoveryserver is a software implementation on a storage server which generatesa virtual server to replace a physical server when the physical serverbecomes inaccessible. While the physical server is inaccessible, thevirtual recovery server is able to mimic the actions and data containedon the physical server. Thus, when users attempt to access anapplication or data that is on the physical server, they will notexperience an interruption and will continue to access the informationas if the physical server were up and running. The virtual recoveryserver is able to run for up to a number of days. When a new or repairedphysical server is available the virtual recovery server is deletedafter the data acquired by the virtual server is transmitted to the newphysical server.

In one aspect, a system for providing network stability and datareliability comprises a first server, a second server coupled to thefirst server wherein the second server stores data received from thefirst server and a virtual server activated by the second server whenthe first server fails, wherein the virtual server performs functions ofthe first server. The second server is a storage server. The firstserver backs up the data onto the second server using a continous backupscheme. The second server stores a system image of the first server. Thesecond server transfers the system image to the virtual server whengenerating the virtual server. The virtual server transfers the systemimage to a replacement server for the first server. The virtual servermimics the first server. The virtual server is activated in real-time.The second server continues to back up the data while running thevirtual server. The first server is accessible by customers.

In another aspect, a system for providing network stability and datareliability comprises a set of first servers, a second server coupled tothe set of first servers wherein the second server stores data receivedfrom the set of first servers and a virtual server activated for eachfailed server in the set of first servers, wherein the virtual server isactivated by the second server and further wherein the virtual serverperforms functions of each failed server. The second server is a storageserver. The set of first servers back up the data onto the second serverusing a continous backup scheme. The second server stores a system imageof each server of the set of first servers. The second server transfersthe system image to the virtual server when generating the virtualserver, further wherein the system image corresponds to the failedserver of the set of first servers. The virtual server transfers thesystem image to a replacement server for the failed server of the set offirst servers. The virtual server mimics the failed server of the set offirst servers before the server failed. The virtual server is activatedin real-time. The second server continues to back up the data whilerunning the virtual server. The set of first servers are accessible bycustomers.

In yet another aspect, a method of providing network stability and datareliability comprises backing up data from a first server to a secondserver, activating a virtual server when the first servers fails andserving the data utilizing the virtual server until the first server isreplaced. The method further comprises replacing the failed server. Themethod further comprises deleting the activated virtual server. Thesecond server is a storage server. The first server backs up the dataonto the second server using a continous backup scheme. The methodfurther comprises storing a system image of the first server on thesecond server. The method further comprises transferring the systemimage from the second server to the virtual server when generating thevirtual server, wherein the system image corresponds to the failed firstserver. The method further comprises transferring the system image fromthe virtual server to a replacement server for the failed first server.Serving data utilizing the virtual server includes mimicking the failedfirst server before the server failed. Generating the virtual server isin real-time. The second server continues to back up the data whilerunning the virtual server. The first server is accessible by customers.The first server is one of a set of first servers.

In yet another aspect, a network of devices for providing networkstability and data reliability comprises a set of first servers, asecond server coupled to the set of first servers, wherein the secondserver stores data received from the set of first servers and generatesa virtual server for each failed server in the set of first servers andfurther wherein the virtual server performs functions of each failedserver, a regional data center coupled to the second server for backingup the data regionally and a remote data center coupled to the regionaldata center for backing up the data remotely. The second server is astorage server. The set of first servers back up the data onto thesecond server using a continous backup scheme. The second server storesa system image of each server of the set of first servers. The secondserver transfers the system image to the virtual server when generatingthe virtual server, further wherein the system image corresponds to thefailed server of the set of first servers. The virtual server transfersthe system image to a replacement server for the failed server of theset of first servers. The virtual server mimics the failed server of theset of first servers before the server failed. The virtual server isactivated in real-time. The second server continues to back up the datawhile running the virtual server. The set of first servers areaccessible by customers.

In another aspect, an apparatus for providing network stability and datareliability comprises a storage component, a data backup applicationstored on the storage component for backing up data received from aserver and a virtual machine application stored on the storage componentfor generating a virtual server when the server fails. A server image ispre-installed on the storage component. The server image corresponds tothe server. A plurality of server images are pre-installed on thestorage component. A server image is acquired from the server.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates a graphical representation of a serverconfiguration.

FIG. 1B illustrates a graphical representation of an embodiment of thepresent invention.

FIG. 2 illustrates a block diagram of a storage server of the presentinvention.

FIG. 3 illustrates a flow chart of utilizing a virtual server of thepresent invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

A virtual recovery server is described herein. A server configurationincludes one or more servers in addition to a storage server or a backupserver. Using a continous backup scheme, the one or more serverscontinuously back up their data on the storage server. The storageserver stores all of the relevant application and user datacorresponding to each server. The storage server also stores and isaware of the environment on each server. For instance, if one of theservers is a SQL server, the storage server contains the necessarysoftware and/or image to replicate the SQL server. The virtual recoveryserver is generated using virtual machine technology and backuptechnology. The storage server generates the virtual server to replace aphysical server when the physical server fails. The virtual serverbecomes a temporary replacement server in real-time (e.g.instantaneously aside from set up time) so that the change is seamless.

While running the virtual server, the storage server still performsbackup processes. As described, the storage server is aware of eachserver's environment, and thus is able to represent a virtual serverthat is the same as the faulty server. While the physical server isinaccessible, the virtual recovery server is able to mimic the actionsand data contained on the physical server. Thus, when users attempt toaccess an application or data that is on the physical server, they willnot experience an interruption and will continue to access theinformation as if the physical server were up and running. The virtualrecovery server is able to run for up to many days. Then, when a newphysical server or repaired server is available, the virtual server isno longer needed. To incorporate the new server into the system quicklyand easily, the server image of the virtual server is sent to the newserver.

In the event that more than one server fails at roughly the same time,the storage server is able to generate a virtual recovery servercorresponding to each server. Therefore, multiple virtual recoveryservers are able to be generated if needed.

FIG. 1A illustrates a graphical representation of a serverconfiguration. A storage server 100 backs up data from servers 102, 104,106. The servers 102, 104, 106 continously back up data to the storageserver 100. In some embodiments, the backup is performed by takingsnapshots or images of each of the servers 102, 104, 106 on a periodicbasis, such as, every hour and transmitting the snapshots to the storageserver 100. In other embodiments, the snapshots are taken more or lessoften depending on how critical the data is. Furthermore, the data isable to be backed up by means other than snapshots. The storage server100 is any storage implementation such as a server with dedicatedstorage or a set of Redundant Array of Inexpensive Disks (RAIDs). Inembodiments where it is crucial to ensure that the backed up data iseven more secure, the data is sent via a network 108 to a regional datacenter 110 and a remote data center 112. The regional data center 110backs up the data in a location relatively near the servers 102, 104,106, while the remote data center 112 is remotely stored to back up thedata in case of an earthquake or other disaster that destroys data inone area but not in a remote area.

FIG. 1B illustrates a graphical representation of an embodiment of thepresent invention. As described in FIG. 1A, the storage server 100 isavailable for backing up data from the servers 102, 104, 106. Within thestorage server 100 is also the capability to generate a virtual server114. As shown in FIG. 1B, the server 104′ has failed and isinaccessible. Therefore, the storage server 100 generates the virtualserver 114 to temporarily take the place of the faulty server 104′. Thevirtual server 114 mimics the faulty server 104′ by taking theconfiguration and data from the storage server 100 and generating aserver using that information. By generating the virtual server 114which appears to be the same entity as the faulty server 104′, users whoattempt to access data or applications on the faulty server 104′ willnot experience any issues. The virtual server 114 acts the same as thefaulty server 104′ before it failed. In embodiments where it is crucialto ensure that the backed up data is secured not only once, but multipletimes, the data is sent via a network 108 to a regional data center 110and a remote data center 112.

A variety of people, such as customers and employees, are able toutilize the servers 102, 104, 106 but possibly for different purposes.For example, in a small office setting for a software/web developmentcompany, each employees' computer is coupled to a central server so thatprojects are able to be shared easily between developers. Furthermore,another server is also available, however this server is utilized bycustomers over the Internet who visit the company's interactive website.On the interactive website, customers are able to download the company'ssoftware products, search for information about the company and storepersonal data including photographs and web logs. Both servers arebacked up by a storage server which contains separate images of eachserver. The images are updated as often as desired to ensure that datais not lost. The storage server also contains virtual machineapplications to enable generation of virtual servers. If the projectserver fails, a virtual server is generated by the storage server usingthe image of the failed project server before it failed. Therefore, thevirtual server is virtually identical to the failed server in appearanceto the developers when they continue accessing the server. If thecustomer server fails, a virtual server is also generated by the storageserver; however this time the image used is from the failed customerserver before it failed. Thus customers will not notice any change whenthey access the company's website. When a new hardware server orrepaired server is coupled to the network, one of the virtual servers,preferably the one corresponding to the server that failed first,transfers the image to the new hardware server and the virtual server isdeleted. The other virtual server continues to run until its replacementserver is installed. The above example is not meant to limit theinvention in any way. Particularly, although only two servers weredescribed, any number of servers are able to be implemented by thepresent invention.

FIG. 2 illustrates a block diagram of a storage server of the presentinvention. A storage server 200 contains standard server componentsincluding a network interface 202, a memory 204, a central processingunit 206, a system bus 208 and storage 210 in addition to other standardcomputing components. Furthermore, the storage server 200 is able tohave multiple of each of these components, for example many servers havemore than one central processing unit 206. The storage 210 is able to beany storage implementation such as a hard disk drive, RAID, or anotherform of storage. Contained within the storage are applications for databackup 212 and virtual machine generation 214. The data backupapplication(s) 212 manage the back up of the data that is contained onthe servers 102, 104, 106 (FIG. 1A). The virtual machine generationapplication(s) 214 generates a virtual server when one or more of theservers 102, 104, 106 (FIG. 1A) fails. In some embodiments, the storageserver 200 also contains images 216 of the servers 102, 104, 106 (FIG.1A). In other embodiments, the images are acquired after the server iscoupled to the network.

FIG. 3 illustrates a flow chart of utilizing a virtual server of thepresent invention. In the step 300, data is backed up on a storageserver from the one or more servers. In the step 302, an image of eachof the one or more servers is stored on the storage server. Upon failureof any of the one or more servers, a virtual server is generated totemporarily replace the failed server, in the step 304. The virtualserver is generated using the backed up image of the failed server. Inthe step 306, the generated virtual server continues serving data untilthe failed server is replaced. In the step 308, the failed server isreplaced and in the step 310, the image on the virtual server is copiedto the replacement server for another smooth transition. The generatedvirtual server is then deleted, in the step 312. In some embodiments,the process automatically occurs; whereas, in other embodiments anadministrator initiates and maintains the process.

The present invention is utilized by installing the appropriateapplications on a storage or backup server which then generates avirtual server when a server within a network fails. Failures includehardware and software issues that make the server inaccessible. Theapplications then take care of backing up necessary system, applicationand user data. In addition, the applications generate the virtual serverwhen a server fails and supply the virtual server with the proper data.After the virtual server is generated, it is available for use while theserver it replaced. However, once a replacement or repaired server iscoupled to the network, the virtual server transfers the data to thereplacement server and is no longer needed. Therefore, by utilizing thepresent invention, one or more servers within a network are able tofail, yet virtual servers will take their place while replacementservers are being retrieved. Thus, there is minimal downtime for eachserver.

In operation, the present invention provides a temporary backup virtualserver when a physical server fails. One or more servers operate byserving information to users, where serving includes hosting a website,providing/storing data, executing applications or anything a server iscapable of doing. Furthermore, each of these servers typically has adedicated task or at least partitioned tasks, so that one server may bedeemed a SQL server while another is focused on a different aspect ofserving. A storage or backup server is utilized to back up theseservers. The storage server utilizes any backup technology butpreferably receives images of each server. When one or more of theservers fails, the storage server generates a separate virtual serverfor each failed server using virtual machine technology. Additionally,the image of that specific server is used to generate the virtualserver, so that the virtual server replicates the failed server.Therefore, the failed server is only down for a short amount of timewhile the virtual server is being generated. Once the virtual server isrunning, users should experience no difference than if the physicalserver were still running. Once a replacement server arrives or thefailed server is repaired, this replacement or repaired server iscoupled to the network. Since there is no rush to install the newserver, preferably the replacement is installed at a time when activityon the server is low and users are informed of a short period ofdowntime. The virtual server transfers the image to the replacement, sothat again, users experience no change in functionality and thereplacement server joins the network without causing problems.

In addition to utilizing the virtual recover server when a server hasfailed, the virtual recovery server is able to detect when a server isabout to fail, so that the virtual recovery server is able to begenerated before the server fails. With such a detection, it is possibleto have zero downtime. A failing server is able to be detected in anumber of ways such as by monitoring the system environment. Forexample, if the server's internal temperature is reaching a dangerouslyhigh temperature, that is an indicator that the server is about to shutdown, and thus the virtual recovery server should take over. Othermethods of detecting a failing server are possible.

The present invention has been described in terms of specificembodiments incorporating details to facilitate the understanding ofprinciples of construction and operation of the invention. Suchreference herein to specific embodiments and details thereof is notintended to limit the scope of the claims appended hereto. It will bereadily apparent to one skilled in the art that other variousmodifications may be made in the embodiment chosen for illustrationwithout departing from the spirit and scope of the invention as definedby the claims.

1-48. (canceled)
 49. A system for providing network stability and datareliability, comprising: a. a first server; b. a second server coupledto the first server wherein the second server comprises a memory deviceand stores first server data received from the first server on thememory device; and c. a virtual server generated by the second serverwhen the first server fails, wherein the virtual server performs thefunctions of the first server.
 50. The system as claimed in claim 49wherein the second server is a storage server.
 51. The system as claimedin claim 49 wherein the first server backs up the first server data ontothe second server using a continuous backup scheme.
 52. The system asclaimed in claim 49 wherein the second server stores a system image ofthe first server.
 53. The system as claimed in claim 52 wherein thesecond server transfers the system image to the virtual server whengenerating the virtual server.
 54. The system as claimed in claim 53wherein the virtual server transfers the system image to a replacementserver for the first server.
 55. The system as claimed in claim 49wherein the virtual server mimics the first server.
 56. The system asclaimed in claim 49 wherein the virtual server is activated inreal-time.
 57. The system as claimed in claim 49 wherein the firstserver is accessible by customers.
 58. The system as claimed in claim 49wherein the virtual server is generated in response to the failure ofthe first server.
 59. A method of providing network stability and datareliability, comprising: a. backing up first server data from a firstserver to a second server; b. generating a virtual server when the firstserver fails; and c. serving the first server data utilizing the virtualserver until the first server is replaced.
 60. The method as claimed inclaim 59 further comprising replacing the failed server.
 61. The methodas claimed in claim 59 further comprising deleting the activated virtualserver.
 62. The method as claimed in claim 59 wherein the second serveris a storage server.
 63. The method as claimed in claim 59 wherein thefirst server backs up the first server data onto the second server usinga continuous backup scheme.
 64. The method as claimed in claim 59further comprising storing a system image of the first server on thesecond server.
 65. The method as claimed in claim 64 further comprisingtransferring the system image from the second server to the virtualserver when generating the virtual server, wherein the system imagecorresponds to the failed first server.
 66. The method as claimed inclaim 65 further comprising transferring the system image from thevirtual server to a replacement server for the failed first server. 67.The method as claimed in claim 59 wherein serving data utilizing thevirtual server includes mimicking the failed first server before theserver failed.
 68. The method as claimed in claim 59 wherein generatingthe virtual server is in real-time.
 69. The method as claimed in claim59 wherein the first server is accessible by customers.
 70. The methodas claimed in claim 59 wherein the first server is one of a set of firstservers.
 71. An apparatus for providing network stability and datareliability, comprising: a. a storage component; b. a data backupapplication stored on the storage component for backing up server datareceived from a server; and c. a virtual machine application stored onthe storage component for generating a virtual server when the serverfails.
 72. The apparatus as claimed in claim 71 wherein a server imageis pre-installed on the storage component.
 73. The apparatus as claimedin claim 72 wherein the server image corresponds to the server.
 74. Theapparatus as claimed in claim 71 wherein a plurality of server imagesare pre-installed on the storage component.
 75. The apparatus as claimedin claim 71 wherein a server image is acquired from the server.
 76. Asystem for providing network stability and data reliability, comprising:a. a first server; b. a second server coupled to the first serverwherein the second server comprises a memory device and stores firstserver data received from the first server on the memory device; and c.a virtual server, wherein the virtual server performs functions of thefirst serve and further wherein the second server is configured toactivate the virtual server upon detecting characteristics of the firstserver indicating an increase in a likelihood of failure of the firstserver.
 77. A method of providing network stability and datareliability, comprising: a. backing up first server data from a firstserver to a second server; b. activating a virtual server upon detectingcharacteristics of the first server indicating an increase in alikelihood of failure of the first server; and c. serving the firstserver data utilizing the virtual server until the first server isreplaced.
 78. An apparatus for providing network stability and datareliability, comprising: a. a storage component; b. a data backupapplication stored on the storage component for backing up server datareceived from a server; and c. a virtual machine application stored onthe storage component for activating a virtual server upon detectingcharacteristics of the first server indicating an increase in alikelihood of failure of the first server.
 79. An apparatus forproviding network stability and data reliability, comprising: a. astorage component; b. a data backup application stored on the storagecomponent for backing up server data received from a server; and c. avirtual machine application stored on the storage component foractivating a virtual server when the server fails, wherein the databackup application continues to back up data after the server fileswhile the virtual server runs.